1. Field of the Invention
The present invention relates generally to software for computer network-oriented applications. In particular, it relates to group conversation software using electronic mail features over computer networks.
2. Discussion of Related Art
The predominant software applications that allow users to have ongoing, online conversations or group discussions using electronic mail are typically server-based applications. These applications are generally software packages that enable ongoing conversations or conferences only among participants subscribing to a dedicated network application server. This server is typically owned and operated by a private entity for the purpose of enabling its users or employees to have online discussions or conferences using software running on the server and on client machines.
One commonly used application is known as Lotus Notes(trademark) available from IBM Corp. of Armonk, N.Y. Lotus Notes is a server-based software application that allows users, also referred to as clients in this context, to conduct meetings or conferences online via electronic messages using an application server running Lotus Notes and Lotus Notes software running on client machines. Generally, Lotus Notes is a file system-based application in which clients are given access to a dedicated Lotus Notes server.
FIG. 1a is a schematic diagram showing a generic server-based, online conferencing application running on two networks. Each participating client typically has the proprietary software required to enable it to communicate with an application server to participate in a conference or online discussion. In FIG. 1a clients 100 and 102 on networks 104 and 106 are participating in an online conference using an electronic conferencing application, such as Lotus Notes. When client 102 sends a conference message to client 100, the message is first routed to an application server 108, such as a Lotus Notes server, along message path 110. The message from client 102 is posted on server 108 and will then be replicated onto a second server application server 112. Similarly, conference participants on another network participating in the same conference as clients 100 and 102 will have their messages posted to their local application server and replicated on other servers. Thus, if participants on different networks using separate servers are participating in the same conference, the servers would have to be frequently synchronized or updated of each other""s messages for the discussion to at least appear that it is taking place in real time. However, application servers of this type are generally synchronized and replicated once a day. Thus, a participant in one network typically will see a message posted to a server by a participant on another network the following day. This type of coordination of servers (often there are multiple servers) requires significant network overhead and is ill-suited for conversations in which participants require fairly quick responses, or in which participants are geographically distributed over multiple servers worldwide
Returning to FIG. 1a, once the servers have been synchronized over an inter-network connection 114, the message is transmitted to client 100 and any other clients on network 104 participating in the same conference.
Another feature of these types of online conferences is that they are not initiated by a conference participant but rather by an application administrator, for example, a Lotus Notes administrator. Thus, in addition to the large overhead required in synchronizing the servers, such applications are restrictive in terms of administration and the ability to initiate a conversation. As alluded to above, online conferencing applications are also restrictive in terms of scope in that the domain of eligible participants is the group of clients who subscribe to the application server and have the application software resident on their computers. These factors, in addition to the time delay from infrequent server replication, are not conducive to having unencumbered, ongoing discussions that require reasonably quick responses and draw in participants from outside a private organization or company. The above is also true of a non-proprietary technology referred to as USENET. USENET, however, is cross-company but suffers from the problem that all conversations are completely public. E-mail list servers allow private, limited membership but still require administration and lack confidentiality.
Another proprietary server-based online conferencing application in the same category as Lotus Notes is Convene(trademark) available from Convene of San Francisco, Calif. Convene is also a server-based application that uses a dial-up frame work that requires participants to subscribe to the Convene service in order to participate in online meetings, analogous to conversations or conferences in Lotus Notes. Like Lotus Notes, Convene is not an Internet e-mail based application. (Lotus Notes allows for sub-conferences that have their own topics to exist within the context of a conference.) Thus, Convene is a service in which a participant must dial up, through a modem for example, or subscribe to the service in order to participate in online meetings between participants on separate networks. All participants in a Convene server-based conversation must be on a single server. Thus, with Convene there is no server-to-server message replication.
Outside the category of proprietary products such as Convene and Lotus Notes, another method of sending messages to a group of participants on a network is through the use of a conventional e-mail alias. An alias, in this context, is essentially a name that identifies a group of recipients. They are commonly used on internal (i.e. within a company or organization) e-mail applications and for e-mail on the Internet. Essentially, before the message is sent, the system interprets the alias and determines all the users and their addresses in that alias. However, once the e-mail is received, the recipients can typically perform one of several actions on that message, such as deleting it or forwarding it to other users (some who may have already been defined in the original sender""s alias). Thus, by using e-mail aliases, the sender of the e-mail loses control of the message once it is received by the other users. There is no mechanism to maintain the history and context of a conversation in a form available to all members of the conversation.
With respect to e-mail transmitted over the Internet (i.e. the worldwide public network based on the Internet Protocol), the relationship between a sender and a receiver is typically one-to-one in that the sender transmits an e-mail message to a particular recipient. FIG. 1b is a schematic diagram showing two clients on two separate networks in which one client is sending an Internet e-mail message to the other. A client 116 on a local area computer network 118 sends an e-mail message to a client 120 on local area computer network 122. The message is sent through a Internet server 124 on network 118 and received by a similar server 126 on network 122. The e-mail message is transmitted over the Internet 128 over a one-to-one message path 130. Of course, it is also not uncommon for a sender to transmit a message to several recipients, which can be done using an alias as discussed above.
The opposite of this type of relationship is the USENET system that runs over the Internet in which a sender can transmit or post a message to a USENET server which, in turn, posts it to other USENET servers, thereby making the message available to a mass audience having access to the USENET servers. As with e-mail aliases discussed above, this type of relationship with a wide, undefined recipient pool makes any type of control and structure over a dialogue among Internet users nearly impossible.
Therefore, it would be desirable to have a group messaging application that provides structure and persistence, and allows users from a global domain to participate in unfettered, ongoing conversations or conferences in close to real time without the intervention of a server or administrator. This would allow for practical and meaningful group conversations over any type of network, including the Internet.
According to the present invention, methods, apparatus, and computer program products are disclosed for having an electronic online conference among multiple clients over a computer network. In one aspect of the invention, a method of sending and receiving conference or conversation messages over a computer network is described. The conference messages are sent from and by a computer network client and without posting the conference messages to a network server. This is done according to an Internet e-mail protocol in which messages are synchronized among a defined group of conversation participants.
In one embodiment of the present invention, the Internet e-mail protocol is SMTP or ESMTP, and the messages are sent and received in MIME format. In another embodiment of the present invention, a MIME conversation message includes data specifying at least one of the following actions: initiate the conversation, respond to an invitation, post a conversation message to the conversation, initiate a topic in the conversation, initiate a sub-conversation within the conversation, terminate the topic, terminate the sub-conversation, and terminate the conversation, invite a late participant, delete an existing participant, and provide a conversation history to the late participant. In yet another embodiment, the conversation messages are synchronized by automatically storing all messages in the conversation at a client computer in a message store organized according to a history of the conversation. In yet another embodiment, the conversation messages are synchronized by automatically directing all messages sent by a client computer to all members of the defined group of conversation participants.
In another aspect of the present invention, a computer program product for specifying a conversation message in a synchronized conversation over a computer network is described. A MIME formatted conversation message is stored on a computer readable medium and includes one or more MIME headers, at least one of which specifies the synchronized conversation as a MIME content type. In one embodiment of the present invention, at least one of the MIME headers includes data specifying at least one of the following actions: initiate the conversation, respond to an invitation, post a conversation message to the conversation, initiate a topic in the conversation, initiate a sub-conversation within the conversation, terminate the topic, terminate the sub-conversation, and terminate the conversation, invite a late participant, delete an existing participant, and provide a conversation history to the late participant.
In another aspect of the present invention, a message in a format allowing dissemination to one or more participants joined in a conversation stored on a computer-readable medium is described. The format includes a conversation header indicating the content of the message as a conversation. Also included is a conversation name tag containing the name of the conversation represented by the message and a unique conversation identifier tag containing a character string identifying the conversation. The format also contains a conversation topic tag containing the name of a topic within the conversation and a conversation action header signaling one or more actions taken by a participant in the conversation. A context of a conversation, the conversation represented by a message, is defined by a combination of the conversation header, conversation name tag, unique conversation identifier tag, conversation topic tag and the conversation action header. In one embodiment, the message further includes one or more body parts where each body part contains the content of the message being sent to the participants.
In another aspect of the present invention, a client-based method of conducting a structured conversation using electronic messages over a computer network is described. A conversation is initiated by sending an invitation message to each participant in an initial group of participants. An acceptance message is received from each participant in an accepting group of participants where the accepting group is either the same as the initial group or is smaller than the initial group. This creates a conversation represented by a conversation structure where the conversation structure has a domain of participants defined as the accepting group of participants and having as a creator the recipient of the acceptance message from each participant in the accepting group. At least one of the conversation messages is stored methodically according to conversation name, topic name, or delivery time. The conversation structure is stored on a client computer and is accessed by one of the participants from the accepting group. In one embodiment, general conversation information on a particular participant is methodically stored in a conversation structure such that the conversation structure resides on a client computer of the particular participant.
In yet another aspect of the present invention, a computer-based group messaging system for having spontaneous, structured conversations via electronic mail messages over the Internet and is accessible directly from within an Internet browser is described. The system includes a mail user component for controlling the storage of electronic mail messages and for accessing the Internet. A mail transfer device transmits and receives electronic mail messages over the Internet. A group messaging user interface component creates and examines an electronic mail message that is part of a conversation with other users having the same computer-based group messaging system. A group messaging engine performs functions necessary for the group messaging system by enforcing a client-interaction protocol and ensuring a structure and persistence for each electronic mail message that is part of the conversation. The group messaging user interface is directly accessible from an Internet browser contained in the mail user component, which facilitates management of electronic mail messages received by the mail transfer device and stored under the control of the mail user component of the group messaging system. In one embodiment, the group messaging engine is contained in a Web server. In another embodiment, a Web browser is accessible from the mail user component and functions as the group messaging user interface component.